package com.gengzp.common.model.generic.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName GenericResp
 * @Description 通用查询结果返回实体类, 所有返回实体都需集成该类
 * @Author gengzp
 * @Date 2025/9/8 14:32
 */
@Data
@ApiModel(description = "通用查询结果返回实体类")
public class GenericResp implements Serializable {

    @Serial
    private static final long serialVersionUID = 2696017838166759276L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private String id;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private String createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间, 格式: yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    /**
     * 创建人用户昵称
     */
    @ApiModelProperty(value = "创建人用户昵称")
    private String createdByUserNickname;

    /**
     * 最后一次修改人
     */
    @ApiModelProperty(value = "最后一次修改人")
    private String lastModifiedBy;

    /**
     * 最后一次修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最后一次修改时间, 格式: yyyy-MM-dd HH:mm:ss")
    private Date lastModifiedTime;

    /**
     * 最后一次修改人用户昵称
     */
    @ApiModelProperty(value = "最后一次修改人用户昵称")
    private String lastModifiedByUserNickname;

}

